package com.my12306.user.model.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * 诊治医生表
 *
 * @Author:苏牧夕
 * @Date:2020-05-15 17:36:13
 * @Version 1.0
 */

@TableName("p_doctor")
public class PDoctorEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 医生编号
     */
    private String doctorNo;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 学历
     */
    private String education;
    /**
     * 就职医院
     */
    private String hospital;
    /**
     * 评分等级
     */
    private String level;
    /**
     * 科室
     */
    private String department;
    /**
     * 职称
     */
    private String title;
    /**
     * 是否审核认证 0-未审核 1-已审核
     */
    private Integer openCheck;
    /**
     * 逻辑删除 0-表示删除，1-表示正常
     */
    private Integer logicDelete;
    /**
     * 显示状态 0-表示禁用 1-表示正常
     */
    private Integer showStatus;
    /**
     * 备注
     */
    private String remark;
    /**
     * 修改时间
     */
    private Date updateDate;
    /**
     * 创建时间
     */
    private Date createDate;
    /**
     * 版本号
     */
    private Integer version;

    public PDoctorEntity() {
    }

    public PDoctorEntity(Long id, String doctorNo, Long userId, String education, String hospital, String level, String department, String title, Integer openCheck, Integer logicDelete, Integer showStatus, String remark, Date updateDate, Date createDate, Integer version) {
        this.id = id;
        this.doctorNo = doctorNo;
        this.userId = userId;
        this.education = education;
        this.hospital = hospital;
        this.level = level;
        this.department = department;
        this.title = title;
        this.openCheck = openCheck;
        this.logicDelete = logicDelete;
        this.showStatus = showStatus;
        this.remark = remark;
        this.updateDate = updateDate;
        this.createDate = createDate;
        this.version = version;
    }

    @Override
    public String toString() {
        return "PDoctorEntity{" +
                "id=" + id +
                ", doctorNo='" + doctorNo + '\'' +
                ", userId=" + userId +
                ", education='" + education + '\'' +
                ", hospital='" + hospital + '\'' +
                ", level='" + level + '\'' +
                ", department='" + department + '\'' +
                ", title='" + title + '\'' +
                ", openCheck=" + openCheck +
                ", logicDelete=" + logicDelete +
                ", showStatus=" + showStatus +
                ", remark='" + remark + '\'' +
                ", updateDate=" + updateDate +
                ", createDate=" + createDate +
                ", version=" + version +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof PDoctorEntity)) return false;
        PDoctorEntity that = (PDoctorEntity) o;
        return Objects.equals(getId(), that.getId()) &&
                Objects.equals(getDoctorNo(), that.getDoctorNo()) &&
                Objects.equals(getUserId(), that.getUserId()) &&
                Objects.equals(getEducation(), that.getEducation()) &&
                Objects.equals(getHospital(), that.getHospital()) &&
                Objects.equals(getLevel(), that.getLevel()) &&
                Objects.equals(getDepartment(), that.getDepartment()) &&
                Objects.equals(getTitle(), that.getTitle()) &&
                Objects.equals(getOpenCheck(), that.getOpenCheck()) &&
                Objects.equals(getLogicDelete(), that.getLogicDelete()) &&
                Objects.equals(getShowStatus(), that.getShowStatus()) &&
                Objects.equals(getRemark(), that.getRemark()) &&
                Objects.equals(getUpdateDate(), that.getUpdateDate()) &&
                Objects.equals(getCreateDate(), that.getCreateDate()) &&
                Objects.equals(getVersion(), that.getVersion());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getId(), getDoctorNo(), getUserId(), getEducation(), getHospital(), getLevel(), getDepartment(), getTitle(), getOpenCheck(), getLogicDelete(), getShowStatus(), getRemark(), getUpdateDate(), getCreateDate(), getVersion());
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDoctorNo() {
        return doctorNo;
    }

    public void setDoctorNo(String doctorNo) {
        this.doctorNo = doctorNo;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getHospital() {
        return hospital;
    }

    public void setHospital(String hospital) {
        this.hospital = hospital;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getOpenCheck() {
        return openCheck;
    }

    public void setOpenCheck(Integer openCheck) {
        this.openCheck = openCheck;
    }

    public Integer getLogicDelete() {
        return logicDelete;
    }

    public void setLogicDelete(Integer logicDelete) {
        this.logicDelete = logicDelete;
    }

    public Integer getShowStatus() {
        return showStatus;
    }

    public void setShowStatus(Integer showStatus) {
        this.showStatus = showStatus;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
}
